// A01用作视频学习所记代码和注释，A01则是自己练习所写代码
package a1;

import java.util.ArrayList;
import java.util.Scanner;

public class A01 {
    public static void main(String[] args) {
//        需求：键盘录入一些1~100之间的整数，并添加到集合中，直到集合中所有数据和超过200为止

//        集合里面不能存基本数据类型，存整数的话就要存Int的包装类Integer
//        创建一个集合，用来存整数
        ArrayList<Integer> list = new ArrayList<>();
//        键盘录入，放在循环外面，没必要每次循环都new一个对象出来
        Scanner sc = new Scanner(System.in);
//        由于不知道什么时候结束，就用while循环
        while (true) {
            System.out.println("Enter a number: ");
            String numStr = sc.nextLine();
            int num = Integer.parseInt(numStr);
            if (num < 1 || num > 100) {
                System.out.println("输入数据异常！666！");
                continue;
            }
//            注意，这里num虽然是基本数据类型int，集合里面是Integer，但jdk版本高，会进行自动装箱
            list.add(num);
            int sum = getSum(list);
            if (sum > 200) {
                System.out.println("集合中所有的数据和已经满足要求~");
                break;
            }
        }
    }

    public static int getSum(ArrayList<Integer> list) {
        int sum = 0;
        for (int i = 0; i < list.size(); i++) {
            int num = list.get(i);
            sum += num;
        }
        return sum;
    }
    
}

